/***************************************************************************************************
Copyright 2009 - 2010 Harshana Eranga Martin, Dishan Metihakwala, Rajeev Sampath, Chathura Randika

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
****************************************************************************************************/
//==============================================================================
//                                                                              
//  THIS FILE HAS BEEN GENERATED BY JSTM                                        
//                                                                              
//==============================================================================

package org.epzilla.dispatcher.dispatcherObjectModel;

import jstm.core.*;

public final class DispatcherObjectModel extends jstm.core.ObjectModel {

    public static final String UID = "2sG6AVQttNcts9YIS+QbNw";

    public static final String XML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ObjectModelDefinition xsi:noNamespaceSchemaLocation=\"http://www.xstm.net/schemas/xstm-0.3.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><Name>DispatcherObjectModel</Name><RootPackage name=\"org.epzilla.dispatcher.dispatcherObjectModel\"><Packages/><Structures><Structure name=\"TriggerInfoObject\"><Fields><Field transient=\"false\" name=\"triggerID\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"dispatcherId\"><Type name=\"int\"/></Field><Field transient=\"false\" name=\"clientID\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"clusterID\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"virtualClusterID\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"trigger\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"stratumId\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"oldStratumId\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"oldClusterId\"><Type name=\"java.lang.String\"/></Field></Fields><Methods/></Structure><Structure name=\"ClientInfoObject\"><Fields><Field transient=\"false\" name=\"clientID\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"clientIP\"><Type name=\"java.lang.String\"/></Field></Fields><Methods/></Structure><Structure name=\"LeaderInfoObject\"><Fields><Field transient=\"false\" name=\"clusterID\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"leaderIP\"><Type name=\"java.lang.String\"/></Field></Fields><Methods/></Structure><Structure name=\"TriggerDependencyStructure\"><Fields><Field transient=\"false\" name=\"clientId\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"virtualStrata\"><Type name=\"int\"/></Field><Field transient=\"false\" name=\"OutputStructure\"><Type name=\"jstm.core.TransactedList\"/></Field><Field transient=\"false\" name=\"InputStructure\"><Type name=\"jstm.core.TransactedList\"/></Field></Fields><Methods/></Structure><Structure name=\"ShareMarker\"><Fields><Field transient=\"false\" name=\"id\"><Type name=\"java.lang.String\"/></Field></Fields><Methods/></Structure><Structure name=\"PerformanceInfoObject\"><Fields><Field transient=\"false\" name=\"nodeIP\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"CPUusageAverage\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"MemUsageAverage\"><Type name=\"java.lang.String\"/></Field><Field transient=\"false\" name=\"NetworkUsageAverage\"><Type name=\"java.lang.String\"/></Field></Fields><Methods/></Structure></Structures></RootPackage></ObjectModelDefinition>";

    public DispatcherObjectModel() {
    }

    @Override
    public String getUID() {
        return UID;
    }

    @Override
    public String getXML() {
        return XML;
    }

    @Override
    public int getClassCount() {
        return 6;
    }

    @Override
    public TransactedObject createInstance(int classId, Connection route) {
        switch (classId) {
            case 0:
                return new org.epzilla.dispatcher.dispatcherObjectModel.TriggerInfoObject();
            case 1:
                return new org.epzilla.dispatcher.dispatcherObjectModel.ClientInfoObject();
            case 2:
                return new org.epzilla.dispatcher.dispatcherObjectModel.LeaderInfoObject();
            case 3:
                return new org.epzilla.dispatcher.dispatcherObjectModel.TriggerDependencyStructure();
            case 4:
                return new org.epzilla.dispatcher.dispatcherObjectModel.ShareMarker();
            case 5:
                return new org.epzilla.dispatcher.dispatcherObjectModel.PerformanceInfoObject();
        }

        throw new IllegalArgumentException("Unknown class id: " + classId);
    }
}
